#ifndef CAPPSTATEMANAGER_H_INCLUDED
#define CAPPSTATEMANAGER_H_INCLUDED

#include "CAppState.h"

enum {
    // Add your Other App States Here
    APPSTATE_NONE,
    APPSTATE_INTRO,
    APPSTATE_MENU,
    APPSTATE_CHANGE,
    APPSTATE_GAME,
    APPSTATE_GAMEOVER,
    APPSTATE_PAUSEMENU,
    APPSTATE_GETNAME,
    APPSTATE_SCORES,
    APPSTATE_CREDITS
};

class CAppStateManager {
    private:
        static CAppState* ActiveAppState;

    public:
        static void OnEvent(SDL_Event* Event);

        static void OnLoop();

        static void OnRender(SDL_Surface* Surf_Display);

    public:
        static void SetActiveAppState(int AppStateID);

        static CAppState* GetActiveAppState();
};

#endif // CAPPSTATEMANAGER_H_INCLUDED
